package com.bestcem.xm.deliver.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bestcem.xm.component.mybatis.base.BaseEntity2;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @TableName ds_deliver_deliverextparams
 */
@TableName(value = "ds_deliver_deliverextparams")
@Data
@EqualsAndHashCode(callSuper = true)
public class DeliverDeliverExtParams extends BaseEntity2 {
    @TableId(value = "id")
    private String id;

    /**
     * org_id
     */
    @TableField(value = "org_id")
    @JsonProperty("org_id")
    private String orgId;

    /**
     * 投放ID
     */
    @TableField(value = "deliver_id")
    @JsonProperty("deliver_id")
    private String deliverId;

    /**
     * 问卷id
     */
    @TableField(value = "survey_id")
    @JsonProperty("survey_id")
    private String surveyId;

    /**
     * 投放外部参数类型
     */
    @TableField(value = "deliver_extparam_type")
    @JsonProperty("deliver_extparam_type")
    private Integer deliverExtparamType;

    /**
     * 参数来源
     */
    @TableField(value = "source")
    private Integer source;

    /**
     * 外部参数id
     */
    @TableField(value = "extparam_id")
    @JsonProperty("extparam_id")
    private String extparamId;

    /**
     * 外部参数名称
     */
    @TableField(value = "extparam_name")
    @JsonProperty("extparam_name")
    private String extparamName;

    /**
     * 外部参数数据类型
     */
    @TableField(value = "extparam_type")
    @JsonProperty("extparam_type")
    private Integer extparamType;

    /**
     * 是否必填
     */
    @TableField(value = "require_flag")
    @JsonProperty("require")
    private Boolean requireFlag;

    /**
     * 是否需要保存
     */
    @TableField(value = "store")
    private Boolean store;

    /**
     * 是否要添加到投放的答题链接中
     */
    @TableField(value = "survey")
    private Boolean survey;

    /**
     * 唯一参数
     */
    @TableField(value = "survey_unique")
    @JsonProperty("survey_unique")
    private Boolean surveyUnique;

    /**
     * 是否需要aes 加密
     */
    @TableField(value = "aes_encrypt_str")
    @JsonProperty("aes_encrypt")
    private Boolean aesEncryptStr;

    /**
     * 外部参数使用状态
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 描述
     */
    @TableField(value = "extparam_desc")
    @JsonProperty("extparam_desc")
    private String extparamDesc;
}